package com.krtech.wecard.module.weixin.bean;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 公众号动态菜单
 */
@ApiModel(value = "com-krtech-wecard-module-weixin-bean-WxDynamicMenu")
@Data
@TableName(value = "wx_dynamic_menu")
public class WxDynamicMenu implements Serializable {
    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value = "id")
    private Integer id;

    /**
     * 创建人
     */
    @TableField(value = "CREATED_BY")
    @ApiModelProperty(value = "创建人")
    private String createdBy;

    /**
     * 创建时间
     */
    @TableField(value = "CREATED_TIME")
    @ApiModelProperty(value = "创建时间")
    private Date createdTime;

    /**
     * 更新人
     */
    @TableField(value = "UPDATED_BY")
    @ApiModelProperty(value = "更新人")
    private String updatedBy;

    /**
     * 更新时间
     */
    @TableField(value = "UPDATED_TIME")
    @ApiModelProperty(value = "更新时间")
    private Date updatedTime;

    /**
     * 菜单的响应动作类型 view表示网页类型，click表示点击类型，miniprogram表示小程序类型
     */
    @TableField(value = "type")
    @ApiModelProperty(value = "菜单的响应动作类型 view表示网页类型，click表示点击类型，miniprogram表示小程序类型")
    private String type;

    /**
     * 菜单标题 不超过16个字节，子菜单不超过60个字节.
     */
    @TableField(value = "name")
    @ApiModelProperty(value = "菜单标题 不超过16个字节，子菜单不超过60个字节.")
    private String name;

    /**
     * 菜单KEY值，用于消息接口推送，不超过128字节. click等点击类型必须
     */
    @TableField(value = "menu_key")
    @ApiModelProperty(value = "菜单KEY值，用于消息接口推送，不超过128字节. click等点击类型必须")
    private String menuKey;

    /**
     * 网页链接 view、miniprogram类型必须
     */
    @TableField(value = "url")
    @ApiModelProperty(value = "网页链接 view、miniprogram类型必须")
    private String url;

    /**
     * 调用新增永久素材接口返回的合法media_id media_id类型和view_limited类型必须
     */
    @TableField(value = "media_id")
    @ApiModelProperty(value = "调用新增永久素材接口返回的合法media_id media_id类型和view_limited类型必须")
    private String mediaId;

    /**
     * 调用发布图文接口获得的article_id article_id类型和article_view_limited类型必须
     */
    @TableField(value = "article_id")
    @ApiModelProperty(value = "调用发布图文接口获得的article_id article_id类型和article_view_limited类型必须")
    private String articleId;

    /**
     * 小程序的appid miniprogram类型必须
     */
    @TableField(value = "appid")
    @ApiModelProperty(value = "小程序的appid miniprogram类型必须")
    private String appid;

    /**
     * 小程序的页面路径 miniprogram类型必须
     */
    @TableField(value = "pagepath")
    @ApiModelProperty(value = "小程序的页面路径 miniprogram类型必须")
    private String pagepath;

    /**
     * 菜单深度 一级或者二级菜单
     */
    @TableField(value = "deep")
    @ApiModelProperty(value = "菜单深度 一级或者二级菜单")
    private Integer deep;

    /**
     * 上级菜单id
     */
    @TableField(value = "pid")
    @ApiModelProperty(value = "上级菜单id")
    private Integer pid;

    /**
     * 软删除
     */
    @TableField(value = "del_flag")
    @ApiModelProperty(value = "软删除")
    @TableLogic
    private Integer delFlag;

    private static final long serialVersionUID = 1L;

    public static final String COL_ID = "id";

    public static final String COL_CREATED_BY = "CREATED_BY";

    public static final String COL_CREATED_TIME = "CREATED_TIME";

    public static final String COL_UPDATED_BY = "UPDATED_BY";

    public static final String COL_UPDATED_TIME = "UPDATED_TIME";

    public static final String COL_TYPE = "type";

    public static final String COL_NAME = "name";

    public static final String COL_MENU_KEY = "menu_key";

    public static final String COL_URL = "url";

    public static final String COL_MEDIA_ID = "media_id";

    public static final String COL_ARTICLE_ID = "article_id";

    public static final String COL_APPID = "appid";

    public static final String COL_PAGEPATH = "pagepath";

    public static final String COL_DEEP = "deep";

    public static final String COL_PID = "pid";

    public static final String COL_DEL_FLAG = "del_flag";
}